EffectiveSan: type and memory error detection using dynamically typed C/C++
نویسندگان
چکیده
منابع مشابه
EffectiveSan: Type and Memory Error Detection using Dynamically Typed C/C++
Low-level programming languages such as C and C++ are vulnerable to errors related to the misuse of memory. Such errors include bounds overflows, sub-object bounds overflows, use-after-free, “reuse”-after-free and type confusion. These errors account for many of the exploits in programs implemented in such unsafe languages. Most bug detection tools (sanitizers) tend to focus only on detecting s...
متن کاملRepresenting Type Information in Dynamically Typed Languages
This report is a discussion of various techniques for representing type information in dynamically typed languages, as implemented on general-purpose machines (and costs are discussed in terms of modern RISC machines). It is intended to make readily available a large body of knowledge that currently has to be absorbed piecemeal from the literature or re-invented by each language implementer. Th...
متن کاملPreemptive Type Checking in Dynamically Typed Languages
We describe a type system that identifies potential type errors in dynamically typed languages like Python. The system uses a flow-sensitive static analysis on bytecodes to compute, for every variable and program point, overapproximations of the variable’s present and future use types. If the future use types are not subsumed by the present types, the further program execution may raise a type ...
متن کاملRegion-Based Memory Management for a Dynamically-Typed Language
Region-based memory management scheme has been proposed for the programming language ML. In this scheme, a compiler statically estimates the lifetime of each object by performing an extension of type inference (called region inference) and inserts code for memory allocation and deallocation. Advantages of this scheme are that memory objects can be deallocated safely (unlike with manual memory m...
متن کاملDynamically Typed Languages
Dynamically typed languages such as Python and Ruby have experienced a rapid grown in popularity in recent times. However, there is much confusion as to what makes these languages interesting relative to statically typed languages, and little knowledge of their rich history. In this chapter I explore the general topic of dynamically typed languages, how they differ from statically typed languag...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: ACM SIGPLAN Notices
سال: 2018
ISSN: 0362-1340,1558-1160
DOI: 10.1145/3296979.3192388